//
//  WBWelComeView.swift
//  swiftweibo
//
//  Created by ffxk007 on 2017/6/22.
//  Copyright © 2017年 ffxk007. All rights reserved.
//

import UIKit
import SDWebImage

/// 欢迎视图
class WBWelComeView: UIView {

    @IBOutlet weak var iconView: UIImageView!
    
    @IBOutlet weak var tipLabel: UILabel!
    
    @IBOutlet weak var bottomCons: NSLayoutConstraint!
    //图标宽度约束
    
//    @IBOutlet weak var iconWidthCons: NSLayoutConstraint!
    
    class func welcomeView()-> WBWelComeView {
        let nib = UINib(nibName: "WBWelComeView", bundle: nil)
         let v = nib.instantiate(withOwner: nil, options: nil)[0] as! WBWelComeView
        
        v.frame = UIScreen.main.bounds
        
        return v
        
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        //initwithcoder只是刚刚从xib的二进制文件将视图数据加载完成
        //还没有和代码连线建立起关系，不要在这个方法中处理UI
    }
    
    override func awakeFromNib() {
        // url
        guard let urlStr = WBNetworkManger.shared.userAccount.avatar_large,
              let url = URL(string: urlStr)
        else {
            return
        }
        //设置头像
        iconView.sd_setImage(with: url, placeholderImage: UIImage(named: "We"))
//        iconView.layer.cornerRadius = iconWidthCons.constant * 0.5
//        iconView.layer.masksToBounds = true
        
        
    }
    ///自动布局系统更新完成约束后，会自动调用此方法
    //通常是对子视图进行修改
//    override func layoutSubviews() {
//        
//    }
    
    /// 视图被添加到window上，表示视图已经显示
    override func didMoveToWindow() {
        super.didMoveToWindow()
        
        //layoutIfNeeded 会直接按照当前的约束直接更新控件位置
        //执行之后，控件所在位置，就是xib中布局的位置
        self.layoutIfNeeded()
        
        bottomCons.constant = bounds.size.height - 200
        
        //视图是使用自动布局来设置的，只是设置了约束
        //当视图被添加到窗口上是，根据父视图的大小，计算约束值，更新控件位置
        //如果控件们的frame还没有计算好，所有的约束会一起动画
        UIView.animate(withDuration: 3.0,
                       delay: 0,
                       usingSpringWithDamping: 0.7,
                       initialSpringVelocity: 0,
                       options: [],
                       animations: {
                        
                self.layoutIfNeeded()
//                        self.tipLabel.alpha = 1
        }) { (_) in
            UIView.animate(withDuration: 1.0,
                           animations: {
                self.tipLabel.alpha = 1
            }, completion: { (_) in
                self.removeFromSuperview()
            })
        }
    }
}
